# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize32,-wavefrontsize64 -disassemble -show-encoding < %s | FileCheck -strict-whitespace -check-prefix=GFX10 %s
# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-wavefrontsize32,+wavefrontsize64 -disassemble -show-encoding < %s | FileCheck -strict-whitespace -check-prefix=GFX10 %s


#===------------------------------------------------------------------------===#
# scratch_load
#===------------------------------------------------------------------------===#

# GFX10: scratch_load_dword v1, v255, off offset:-1 glc dlc ; encoding: [0xff,0x5f,0x31,0xdc,0xff,0x00,0x7d,0x01]
0xff 0x5f 0x31 0xdc 0xff 0x00 0x7d 0x01

# GFX10: scratch_load_dword v5, v255, off offset:-1 glc slc ; encoding: [0xff,0x4f,0x33,0xdc,0xff,0x00,0x7d,0x05]
0xff 0x4f 0x33 0xdc 0xff 0x00 0x7d 0x05

# GFX10: scratch_load_dword v0, v1, off offset:-2048 glc slc dlc ; encoding: [0x00,0x58,0x33,0xdc,0x01,0x00,0x7d,0x00]
0x00 0x58 0x33 0xdc 0x01 0x00 0x7d 0x00

# GFX10: scratch_load_dword v255, off, s105 offset:2047 dlc ; encoding: [0xff,0x57,0x30,0xdc,0x00,0x00,0x69,0xff]
0xff 0x57 0x30 0xdc 0x00 0x00 0x69 0xff

# GFX10: scratch_load_dword v255, v2, off        ; encoding: [0x00,0x40,0x30,0xdc,0x02,0x00,0x7d,0xff]
0x00 0x40 0x30 0xdc 0x02 0x00 0x7d 0xff

# GFX10: scratch_load_dword v5, v0, off dlc      ; encoding: [0x00,0x50,0x30,0xdc,0x00,0x00,0x7d,0x05]
0x00 0x50 0x30 0xdc 0x00 0x00 0x7d 0x05

# GFX10: scratch_load_dword v5, v3, off slc      ; encoding: [0x00,0x40,0x32,0xdc,0x03,0x00,0x7d,0x05]
0x00 0x40 0x32 0xdc 0x03 0x00 0x7d 0x05

# GFX10: scratch_load_dword v5, v255, off slc dlc ; encoding: [0x00,0x50,0x32,0xdc,0xff,0x00,0x7d,0x05]
0x00 0x50 0x32 0xdc 0xff 0x00 0x7d 0x05

# GFX10: scratch_load_dword v255, off, s2 offset:1 ; encoding: [0x01,0x40,0x30,0xdc,0x00,0x00,0x02,0xff]
0x01 0x40 0x30 0xdc 0x00 0x00 0x02 0xff

#===------------------------------------------------------------------------===#
# scratch_store
#===------------------------------------------------------------------------===#

# GFX10: scratch_store_dword off, v2, s3 offset:-1 ; encoding: [0xff,0x4f,0x70,0xdc,0x00,0x02,0x03,0x00]
0xff,0x4f,0x70,0xdc,0x00,0x02,0x03,0x00

# GFX10: scratch_store_dword off, v255, s3 offset:-1 ; encoding: [0xff,0x4f,0x70,0xdc,0x00,0xff,0x03,0x00]
0xff,0x4f,0x70,0xdc,0x00,0xff,0x03,0x00

# GFX10: scratch_store_dword off, v2, s105 offset:-1 ; encoding: [0xff,0x4f,0x70,0xdc,0x00,0x02,0x69,0x00]
0xff,0x4f,0x70,0xdc,0x00,0x02,0x69,0x00

# GFX10: scratch_store_dword off, v2, vcc_lo offset:-1 ; encoding: [0xff,0x4f,0x70,0xdc,0x00,0x02,0x6a,0x00]
0xff,0x4f,0x70,0xdc,0x00,0x02,0x6a,0x00

# GFX10: scratch_store_dword off, v2, vcc_hi offset:-1 ; encoding: [0xff,0x4f,0x70,0xdc,0x00,0x02,0x6b,0x00]
0xff,0x4f,0x70,0xdc,0x00,0x02,0x6b,0x00

# GFX10: scratch_store_dword off, v2, ttmp15 offset:-1 ; encoding: [0xff,0x4f,0x70,0xdc,0x00,0x02,0x7b,0x00]
0xff,0x4f,0x70,0xdc,0x00,0x02,0x7b,0x00

# GFX10: scratch_store_dword v0, v2, off offset:-1 ; encoding: [0xff,0x4f,0x70,0xdc,0x00,0x02,0x7d,0x00]
0xff,0x4f,0x70,0xdc,0x00,0x02,0x7d,0x00

# GFX10: scratch_store_dword off, v2, s3         ; encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x03,0x00]
0x00,0x40,0x70,0xdc,0x00,0x02,0x03,0x00

# GFX10: scratch_store_dword off, v2, s3 offset:2047 ; encoding: [0xff,0x47,0x70,0xdc,0x00,0x02,0x03,0x00]
0xff,0x47,0x70,0xdc,0x00,0x02,0x03,0x00

# GFX10: scratch_store_dword off, v2, s3 offset:-2048 ; encoding: [0x00,0x48,0x70,0xdc,0x00,0x02,0x03,0x00]
0x00,0x48,0x70,0xdc,0x00,0x02,0x03,0x00

# GFX10: scratch_store_dword off, v2, s3 offset:-1 glc ; encoding: [0xff,0x4f,0x71,0xdc,0x00,0x02,0x03,0x00]
0xff,0x4f,0x71,0xdc,0x00,0x02,0x03,0x00

# GFX10: scratch_store_dword off, v2, s3 offset:-1 slc ; encoding: [0xff,0x4f,0x72,0xdc,0x00,0x02,0x03,0x00]
0xff,0x4f,0x72,0xdc,0x00,0x02,0x03,0x00

# GFX10: scratch_store_dword off, v2, s3 offset:-1 dlc ; encoding: [0xff,0x5f,0x70,0xdc,0x00,0x02,0x03,0x00]
0xff,0x5f,0x70,0xdc,0x00,0x02,0x03,0x00

#===------------------------------------------------------------------------===#
# FLAT opcodes: dlc support for atomics
#===------------------------------------------------------------------------===#

# GFX10: flat_atomic_add v[1:2], v2 dlc          ; encoding: [0x00,0x10,0xc8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xc8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_add_x2 v[1:2], v[2:3] dlc   ; encoding: [0x00,0x10,0x48,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x48,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_and v[1:2], v2 dlc          ; encoding: [0x00,0x10,0xe4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xe4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_and_x2 v[1:2], v[2:3] dlc   ; encoding: [0x00,0x10,0x64,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x64,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_cmpswap v[1:2], v[2:3] dlc  ; encoding: [0x00,0x10,0xc4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xc4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_cmpswap_x2 v[1:2], v[2:5] dlc ; encoding: [0x00,0x10,0x44,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x44,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_dec v[1:2], v2 dlc          ; encoding: [0x00,0x10,0xf4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xf4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_dec_x2 v[1:2], v[2:3] dlc   ; encoding: [0x00,0x10,0x74,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x74,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_fcmpswap v[1:2], v[2:3] dlc ; encoding: [0x00,0x10,0xf8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xf8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_fcmpswap_x2 v[1:2], v[2:5] dlc ; encoding: [0x00,0x10,0x78,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x78,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_fmax v[1:2], v2 dlc         ; encoding: [0x00,0x10,0x00,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x00,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_fmax_x2 v[1:2], v[2:3] dlc  ; encoding: [0x00,0x10,0x80,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x80,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_fmin v[1:2], v2 dlc         ; encoding: [0x00,0x10,0xfc,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xfc,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_fmin_x2 v[1:2], v[2:3] dlc  ; encoding: [0x00,0x10,0x7c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x7c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_inc v[1:2], v2 dlc          ; encoding: [0x00,0x10,0xf0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xf0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_inc_x2 v[1:2], v[2:3] dlc   ; encoding: [0x00,0x10,0x70,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x70,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_or v[1:2], v2 dlc           ; encoding: [0x00,0x10,0xe8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xe8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_or_x2 v[1:2], v[2:3] dlc    ; encoding: [0x00,0x10,0x68,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x68,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_smax v[1:2], v2 dlc         ; encoding: [0x00,0x10,0xdc,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xdc,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_smax_x2 v[1:2], v[2:3] dlc  ; encoding: [0x00,0x10,0x5c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x5c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_smin v[1:2], v2 dlc         ; encoding: [0x00,0x10,0xd4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xd4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_smin_x2 v[1:2], v[2:3] dlc  ; encoding: [0x00,0x10,0x54,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x54,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_sub v[1:2], v2 dlc          ; encoding: [0x00,0x10,0xcc,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xcc,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_sub_x2 v[1:2], v[2:3] dlc   ; encoding: [0x00,0x10,0x4c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x4c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_swap v[1:2], v2 dlc         ; encoding: [0x00,0x10,0xc0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xc0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_swap_x2 v[1:2], v[2:3] dlc  ; encoding: [0x00,0x10,0x40,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x40,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_umax v[1:2], v2 dlc         ; encoding: [0x00,0x10,0xe0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xe0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_umax_x2 v[1:2], v[2:3] dlc  ; encoding: [0x00,0x10,0x60,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x60,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_umin v[1:2], v2 dlc         ; encoding: [0x00,0x10,0xd8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xd8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_umin_x2 v[1:2], v[2:3] dlc  ; encoding: [0x00,0x10,0x58,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x58,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_xor v[1:2], v2 dlc          ; encoding: [0x00,0x10,0xec,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x10,0xec,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_xor_x2 v[1:2], v[2:3] dlc   ; encoding: [0x00,0x10,0x6c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x10,0x6c,0xdd,0x01,0x02,0x7d,0x00

#===------------------------------------------------------------------------===#
# FLAT GLOBAL opcodes: dlc support for atomics
#===------------------------------------------------------------------------===#

# GFX10: global_atomic_add v[1:2], v2, off dlc   ; encoding: [0x00,0x90,0xc8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xc8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_add_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x48,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x48,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_and v[1:2], v2, off dlc   ; encoding: [0x00,0x90,0xe4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xe4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_and_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x64,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x64,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_cmpswap v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0xc4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xc4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_cmpswap_x2 v[1:2], v[2:5], off dlc ; encoding: [0x00,0x90,0x44,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x44,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_dec v[1:2], v2, off dlc   ; encoding: [0x00,0x90,0xf4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xf4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_dec_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x74,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x74,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fmax v[1:2], v2, off dlc  ; encoding: [0x00,0x90,0x00,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x00,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fmax_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x80,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x80,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fmin v[1:2], v2, off dlc  ; encoding: [0x00,0x90,0xfc,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xfc,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fmin_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x7c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x7c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_inc v[1:2], v2, off dlc   ; encoding: [0x00,0x90,0xf0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xf0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_inc_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x70,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x70,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_or v[1:2], v2, off dlc    ; encoding: [0x00,0x90,0xe8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xe8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_or_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x68,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x68,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_smax v[1:2], v2, off dlc  ; encoding: [0x00,0x90,0xdc,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xdc,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_smax_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x5c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x5c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_smin v[1:2], v2, off dlc  ; encoding: [0x00,0x90,0xd4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xd4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_smin_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x54,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x54,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_sub v[1:2], v2, off dlc   ; encoding: [0x00,0x90,0xcc,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xcc,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_sub_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x4c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x4c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_swap v[1:2], v2, off dlc  ; encoding: [0x00,0x90,0xc0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xc0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_swap_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x40,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x40,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_umax v[1:2], v2, off dlc  ; encoding: [0x00,0x90,0xe0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xe0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_umax_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x60,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x60,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_umin v[1:2], v2, off dlc  ; encoding: [0x00,0x90,0xd8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xd8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_umin_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x58,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x58,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_xor v[1:2], v2, off dlc   ; encoding: [0x00,0x90,0xec,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x90,0xec,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_xor_x2 v[1:2], v[2:3], off dlc ; encoding: [0x00,0x90,0x6c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x90,0x6c,0xdd,0x01,0x02,0x7d,0x00

#===------------------------------------------------------------------------===#
# FLAT GLOBAL opcodes: fcmpswap
#===------------------------------------------------------------------------===#

# GFX10: global_atomic_fcmpswap v[1:2], v[2:3], off offset:-1 ; encoding: [0xff,0x8f,0xf8,0xdc,0x01,0x02,0x7d,0x00]
0xff,0x8f,0xf8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap v5, v[1:2], v[2:3], off offset:-1 glc ; encoding: [0xff,0x8f,0xf9,0xdc,0x01,0x02,0x7d,0x05]
0xff,0x8f,0xf9,0xdc,0x01,0x02,0x7d,0x05

# GFX10: global_atomic_fcmpswap v[1:2], v[2:3], off offset:2047 ; encoding: [0xff,0x87,0xf8,0xdc,0x01,0x02,0x7d,0x00]
0xff,0x87,0xf8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap v[1:2], v[2:3], off offset:-2048 ; encoding: [0x00,0x88,0xf8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x88,0xf8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap v[1:2], v[2:3], off offset:-1 slc ; encoding: [0xff,0x8f,0xfa,0xdc,0x01,0x02,0x7d,0x00]
0xff,0x8f,0xfa,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap v[1:2], v[2:3], off offset:-1 dlc ; encoding: [0xff,0x9f,0xf8,0xdc,0x01,0x02,0x7d,0x00]
0xff,0x9f,0xf8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap_x2 v[1:2], v[2:5], off offset:-1 ; encoding: [0xff,0x8f,0x78,0xdd,0x01,0x02,0x7d,0x00]
0xff,0x8f,0x78,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap_x2 v[5:6], v[1:2], v[2:5], off offset:-1 glc ; encoding: [0xff,0x8f,0x79,0xdd,0x01,0x02,0x7d,0x05]
0xff,0x8f,0x79,0xdd,0x01,0x02,0x7d,0x05

# GFX10: global_atomic_fcmpswap_x2 v[1:2], v[2:5], off offset:2047 ; encoding: [0xff,0x87,0x78,0xdd,0x01,0x02,0x7d,0x00]
0xff,0x87,0x78,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap_x2 v[1:2], v[2:5], off offset:-2048 ; encoding: [0x00,0x88,0x78,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x88,0x78,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap_x2 v[1:2], v[2:5], off offset:-1 slc ; encoding: [0xff,0x8f,0x7a,0xdd,0x01,0x02,0x7d,0x00]
0xff,0x8f,0x7a,0xdd,0x01,0x02,0x7d,0x00

# GFX10: global_atomic_fcmpswap_x2 v[1:2], v[2:5], off offset:-1 dlc ; encoding: [0xff,0x9f,0x78,0xdd,0x01,0x02,0x7d,0x00]
0xff,0x9f,0x78,0xdd,0x01,0x02,0x7d,0x00

#===------------------------------------------------------------------------===#
# Other FLAT opcodes
#===------------------------------------------------------------------------===#

# GFX10: flat_atomic_add v[1:2], v2              ; encoding: [0x00,0x00,0xc8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xc8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_add v[3:4], v5 offset:8 slc ; encoding: [0x08,0x00,0xca,0xdc,0x03,0x05,0x7d,0x00]
0x08,0x00,0xca,0xdc,0x03,0x05,0x7d,0x00

# GFX10: flat_atomic_add_x2 v[1:2], v[2:3]       ; encoding: [0x00,0x00,0x48,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x48,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_and v[1:2], v2              ; encoding: [0x00,0x00,0xe4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xe4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_and_x2 v[1:2], v[2:3]       ; encoding: [0x00,0x00,0x64,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x64,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_cmpswap v0, v[1:2], v[3:4] glc ; encoding: [0x00,0x00,0xc5,0xdc,0x01,0x03,0x7d,0x00]
0x00,0x00,0xc5,0xdc,0x01,0x03,0x7d,0x00

# GFX10: flat_atomic_cmpswap v0, v[1:2], v[3:4] glc slc ; encoding: [0x00,0x00,0xc7,0xdc,0x01,0x03,0x7d,0x00]
0x00,0x00,0xc7,0xdc,0x01,0x03,0x7d,0x00

# GFX10: flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:2047 glc ; encoding: [0xff,0x07,0xc5,0xdc,0x01,0x03,0x7d,0x00]
0xff,0x07,0xc5,0xdc,0x01,0x03,0x7d,0x00

# GFX10: flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:2047 glc slc ; encoding: [0xff,0x07,0xc7,0xdc,0x01,0x03,0x7d,0x00]
0xff,0x07,0xc7,0xdc,0x01,0x03,0x7d,0x00

# GFX10: flat_atomic_cmpswap v[1:2], v[2:3]      ; encoding: [0x00,0x00,0xc4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xc4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_cmpswap v[1:2], v[3:4]      ; encoding: [0x00,0x00,0xc4,0xdc,0x01,0x03,0x7d,0x00]
0x00,0x00,0xc4,0xdc,0x01,0x03,0x7d,0x00

# GFX10: flat_atomic_cmpswap v[1:2], v[3:4] offset:2047 ; encoding: [0xff,0x07,0xc4,0xdc,0x01,0x03,0x7d,0x00]
0xff,0x07,0xc4,0xdc,0x01,0x03,0x7d,0x00

# GFX10: flat_atomic_cmpswap v[1:2], v[3:4] offset:2047 slc ; encoding: [0xff,0x07,0xc6,0xdc,0x01,0x03,0x7d,0x00]
0xff,0x07,0xc6,0xdc,0x01,0x03,0x7d,0x00

# GFX10: flat_atomic_cmpswap v[1:2], v[3:4] slc  ; encoding: [0x00,0x00,0xc6,0xdc,0x01,0x03,0x7d,0x00]
0x00,0x00,0xc6,0xdc,0x01,0x03,0x7d,0x00

# GFX10: flat_atomic_cmpswap_x2 v[1:2], v[2:5]   ; encoding: [0x00,0x00,0x44,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x44,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_dec v[1:2], v2              ; encoding: [0x00,0x00,0xf4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xf4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_dec_x2 v[1:2], v[2:3]       ; encoding: [0x00,0x00,0x74,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x74,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_inc v[1:2], v2              ; encoding: [0x00,0x00,0xf0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xf0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_inc_x2 v[1:2], v[2:3]       ; encoding: [0x00,0x00,0x70,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x70,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_or v[1:2], v2               ; encoding: [0x00,0x00,0xe8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xe8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_or_x2 v[1:2], v[2:3]        ; encoding: [0x00,0x00,0x68,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x68,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_smax v[1:2], v2             ; encoding: [0x00,0x00,0xdc,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xdc,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_smax_x2 v[1:2], v[2:3]      ; encoding: [0x00,0x00,0x5c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x5c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_smin v[1:2], v2             ; encoding: [0x00,0x00,0xd4,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xd4,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_smin_x2 v[1:2], v[2:3]      ; encoding: [0x00,0x00,0x54,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x54,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_sub v[1:2], v2              ; encoding: [0x00,0x00,0xcc,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xcc,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_sub_x2 v[1:2], v[2:3]       ; encoding: [0x00,0x00,0x4c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x4c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_swap v[1:2], v2             ; encoding: [0x00,0x00,0xc0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xc0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_swap v[3:4], v5 offset:16   ; encoding: [0x10,0x00,0xc0,0xdc,0x03,0x05,0x7d,0x00]
0x10,0x00,0xc0,0xdc,0x03,0x05,0x7d,0x00

# GFX10: flat_atomic_swap_x2 v[1:2], v[2:3]      ; encoding: [0x00,0x00,0x40,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x40,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_umax v[1:2], v2             ; encoding: [0x00,0x00,0xe0,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xe0,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_umax_x2 v[1:2], v[2:3]      ; encoding: [0x00,0x00,0x60,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x60,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_umin v[1:2], v2             ; encoding: [0x00,0x00,0xd8,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xd8,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_umin_x2 v[1:2], v[2:3]      ; encoding: [0x00,0x00,0x58,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x58,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_xor v[1:2], v2              ; encoding: [0x00,0x00,0xec,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0xec,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_atomic_xor_x2 v[1:2], v[2:3]       ; encoding: [0x00,0x00,0x6c,0xdd,0x01,0x02,0x7d,0x00]
0x00,0x00,0x6c,0xdd,0x01,0x02,0x7d,0x00

# GFX10: flat_load_dword v1, v[3:4]              ; encoding: [0x00,0x00,0x30,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x00,0x30,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_dword v1, v[3:4] offset:2047  ; encoding: [0xff,0x07,0x30,0xdc,0x03,0x00,0x7d,0x01]
0xff,0x07,0x30,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_dword v1, v[3:4] offset:4 glc ; encoding: [0x04,0x00,0x31,0xdc,0x03,0x00,0x7d,0x01]
0x04,0x00,0x31,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_dword v1, v[3:4] offset:4 glc slc ; encoding: [0x04,0x00,0x33,0xdc,0x03,0x00,0x7d,0x01]
0x04,0x00,0x33,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_dword v1, v[3:4] offset:4 glc slc dlc ; encoding: [0x04,0x10,0x33,0xdc,0x03,0x00,0x7d,0x01]
0x04,0x10,0x33,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_dword v5, v[1:2]              ; encoding: [0x00,0x00,0x30,0xdc,0x01,0x00,0x7d,0x05]
0x00,0x00,0x30,0xdc,0x01,0x00,0x7d,0x05

# GFX10: flat_load_dwordx2 v[5:6], v[1:2]        ; encoding: [0x00,0x00,0x34,0xdc,0x01,0x00,0x7d,0x05]
0x00,0x00,0x34,0xdc,0x01,0x00,0x7d,0x05

# GFX10: flat_load_dwordx3 v[5:7], v[1:2]        ; encoding: [0x00,0x00,0x3c,0xdc,0x01,0x00,0x7d,0x05]
0x00,0x00,0x3c,0xdc,0x01,0x00,0x7d,0x05

# GFX10: flat_load_dwordx4 v[5:8], v[1:2]        ; encoding: [0x00,0x00,0x38,0xdc,0x01,0x00,0x7d,0x05]
0x00,0x00,0x38,0xdc,0x01,0x00,0x7d,0x05

# GFX10: flat_load_sbyte v5, v[1:2]              ; encoding: [0x00,0x00,0x24,0xdc,0x01,0x00,0x7d,0x05]
0x00,0x00,0x24,0xdc,0x01,0x00,0x7d,0x05

# GFX10: flat_load_sbyte_d16 v1, v[3:4]          ; encoding: [0x00,0x00,0x88,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x00,0x88,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_sbyte_d16_hi v1, v[3:4]       ; encoding: [0x00,0x00,0x8c,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x00,0x8c,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_short_d16 v1, v[3:4]          ; encoding: [0x00,0x00,0x90,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x00,0x90,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_short_d16_hi v1, v[3:4]       ; encoding: [0x00,0x00,0x94,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x00,0x94,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_sshort v5, v[1:2]             ; encoding: [0x00,0x00,0x2c,0xdc,0x01,0x00,0x7d,0x05]
0x00,0x00,0x2c,0xdc,0x01,0x00,0x7d,0x05

# GFX10: flat_load_ubyte v5, v[1:2]              ; encoding: [0x00,0x00,0x20,0xdc,0x01,0x00,0x7d,0x05]
0x00,0x00,0x20,0xdc,0x01,0x00,0x7d,0x05

# GFX10: flat_load_ubyte_d16 v1, v[3:4]          ; encoding: [0x00,0x00,0x80,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x00,0x80,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_ubyte_d16_hi v1, v[3:4]       ; encoding: [0x00,0x00,0x84,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x00,0x84,0xdc,0x03,0x00,0x7d,0x01

# GFX10: flat_load_ushort v5, v[1:2]             ; encoding: [0x00,0x00,0x28,0xdc,0x01,0x00,0x7d,0x05]
0x00,0x00,0x28,0xdc,0x01,0x00,0x7d,0x05

# GFX10: flat_store_byte v[1:2], v2              ; encoding: [0x00,0x00,0x60,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0x60,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_store_byte_d16_hi v[3:4], v1       ; encoding: [0x00,0x00,0x64,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x00,0x64,0xdc,0x03,0x01,0x7d,0x00

# GFX10: flat_store_dword v[1:2], v2             ; encoding: [0x00,0x00,0x70,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0x70,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_store_dword v[3:4], v1 offset:16   ; encoding: [0x10,0x00,0x70,0xdc,0x03,0x01,0x7d,0x00]
0x10,0x00,0x70,0xdc,0x03,0x01,0x7d,0x00

# GFX10: flat_store_dwordx2 v[1:2], v[2:3]       ; encoding: [0x00,0x00,0x74,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0x74,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_store_dwordx3 v[1:2], v[2:4]       ; encoding: [0x00,0x00,0x7c,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0x7c,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_store_dwordx4 v[1:2], v[2:5]       ; encoding: [0x00,0x00,0x78,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0x78,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_store_short v[1:2], v2             ; encoding: [0x00,0x00,0x68,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x00,0x68,0xdc,0x01,0x02,0x7d,0x00

# GFX10: flat_store_short_d16_hi v[3:4], v1      ; encoding: [0x00,0x00,0x6c,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x00,0x6c,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_atomic_add v[3:4], v5, off       ; encoding: [0x00,0x80,0xc8,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xc8,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_add v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xc8,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xc8,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_add_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x48,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x48,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_add_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x48,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x48,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_and v[3:4], v5, off       ; encoding: [0x00,0x80,0xe4,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xe4,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_and v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xe4,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xe4,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_and_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x64,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x64,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_and_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x64,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x64,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_cmpswap v[3:4], v[5:6], off ; encoding: [0x00,0x80,0xc4,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xc4,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_cmpswap v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0xc4,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xc4,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_cmpswap v1, v[3:4], v[5:6], off glc ; encoding: [0x00,0x80,0xc5,0xdc,0x03,0x05,0x7d,0x01]
0x00,0x80,0xc5,0xdc,0x03,0x05,0x7d,0x01

# GFX10: global_atomic_cmpswap v1, v3, v[5:6], s[2:3] glc ; encoding: [0x00,0x80,0xc5,0xdc,0x03,0x05,0x02,0x01]
0x00,0x80,0xc5,0xdc,0x03,0x05,0x02,0x01

# GFX10: global_atomic_cmpswap_x2 v[3:4], v[5:8], off ; encoding: [0x00,0x80,0x44,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x44,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_cmpswap_x2 v[3:4], v[5:8], off offset:2032 ; encoding: [0xf0,0x87,0x44,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x44,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off glc ; encoding: [0x00,0x80,0x45,0xdd,0x05,0x07,0x7d,0x01]
0x00,0x80,0x45,0xdd,0x05,0x07,0x7d,0x01

# GFX10: global_atomic_cmpswap_x2 v[1:2], v5, v[7:10], s[2:3] glc ; encoding: [0x00,0x80,0x45,0xdd,0x05,0x07,0x02,0x01]
0x00,0x80,0x45,0xdd,0x05,0x07,0x02,0x01

# GFX10: global_atomic_dec v[3:4], v5, off       ; encoding: [0x00,0x80,0xf4,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xf4,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_dec v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xf4,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xf4,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_dec_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x74,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x74,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_dec_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x74,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x74,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_inc v[3:4], v5, off       ; encoding: [0x00,0x80,0xf0,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xf0,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_inc v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xf0,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xf0,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_inc_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x70,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x70,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_inc_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x70,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x70,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_or v[3:4], v5, off        ; encoding: [0x00,0x80,0xe8,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xe8,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_or v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xe8,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xe8,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_or_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x68,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x68,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_or_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x68,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x68,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_smax v[3:4], v5, off      ; encoding: [0x00,0x80,0xdc,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xdc,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_smax v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xdc,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xdc,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_smax_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x5c,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x5c,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_smax_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x5c,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x5c,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_smin v[3:4], v5, off      ; encoding: [0x00,0x80,0xd4,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xd4,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_smin v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xd4,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xd4,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_smin_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x54,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x54,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_smin_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x54,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x54,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_sub v[3:4], v5, off       ; encoding: [0x00,0x80,0xcc,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xcc,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_sub v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xcc,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xcc,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_sub_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x4c,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x4c,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_sub_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x4c,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x4c,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_swap v[3:4], v5, off      ; encoding: [0x00,0x80,0xc0,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xc0,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_swap v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xc0,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xc0,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_swap_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x40,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x40,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_swap_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x40,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x40,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_umax v[3:4], v5, off      ; encoding: [0x00,0x80,0xe0,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xe0,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_umax v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xe0,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xe0,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_umax_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x60,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x60,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_umax_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x60,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x60,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_umin v[3:4], v5, off      ; encoding: [0x00,0x80,0xd8,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xd8,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_umin v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xd8,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xd8,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_umin_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x58,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x58,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_umin_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x58,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x58,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_xor v[3:4], v5, off       ; encoding: [0x00,0x80,0xec,0xdc,0x03,0x05,0x7d,0x00]
0x00,0x80,0xec,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_xor v[3:4], v5, off offset:2032 ; encoding: [0xf0,0x87,0xec,0xdc,0x03,0x05,0x7d,0x00]
0xf0,0x87,0xec,0xdc,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_xor_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x6c,0xdd,0x03,0x05,0x7d,0x00]
0x00,0x80,0x6c,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_atomic_xor_x2 v[3:4], v[5:6], off offset:2032 ; encoding: [0xf0,0x87,0x6c,0xdd,0x03,0x05,0x7d,0x00]
0xf0,0x87,0x6c,0xdd,0x03,0x05,0x7d,0x00

# GFX10: global_load_dword v1, v[3:4], off       ; encoding: [0x00,0x80,0x30,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x30,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_dword v1, v[3:4], off dlc   ; encoding: [0x00,0x90,0x30,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x90,0x30,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_dword v1, v[3:4], off offset:2047 ; encoding: [0xff,0x87,0x30,0xdc,0x03,0x00,0x7d,0x01]
0xff,0x87,0x30,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_dword v1, v3, s[2:3]        ; encoding: [0x00,0x80,0x30,0xdc,0x03,0x00,0x02,0x01]
0x00,0x80,0x30,0xdc,0x03,0x00,0x02,0x01

# GFX10: global_load_dword v1, v3, s[2:3] offset:2040 ; encoding: [0xf8,0x87,0x30,0xdc,0x03,0x00,0x02,0x01]
0xf8,0x87,0x30,0xdc,0x03,0x00,0x02,0x01

# GFX10: global_load_dword v1, v3, s[2:3] offset:24 ; encoding: [0x18,0x80,0x30,0xdc,0x03,0x00,0x02,0x01]
0x18,0x80,0x30,0xdc,0x03,0x00,0x02,0x01

# GFX10: global_load_dwordx2 v[1:2], v[3:4], off ; encoding: [0x00,0x80,0x34,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x34,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_dwordx2 v[1:2], v[3:4], off dlc ; encoding: [0x00,0x90,0x34,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x90,0x34,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_dwordx3 v[1:3], v[3:4], off ; encoding: [0x00,0x80,0x3c,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x3c,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_dwordx3 v[1:3], v[3:4], off dlc ; encoding: [0x00,0x90,0x3c,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x90,0x3c,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_dwordx4 v[1:4], v[3:4], off ; encoding: [0x00,0x80,0x38,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x38,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_dwordx4 v[1:4], v[3:4], off dlc ; encoding: [0x00,0x90,0x38,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x90,0x38,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_sbyte v1, v[3:4], off       ; encoding: [0x00,0x80,0x24,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x24,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_sbyte v1, v[3:4], off dlc   ; encoding: [0x00,0x90,0x24,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x90,0x24,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_sbyte_d16 v1, v[3:4], off   ; encoding: [0x00,0x80,0x88,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x88,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_sbyte_d16_hi v1, v[3:4], off ; encoding: [0x00,0x80,0x8c,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x8c,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_short_d16 v1, v[3:4], off   ; encoding: [0x00,0x80,0x90,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x90,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_short_d16_hi v1, v[3:4], off ; encoding: [0x00,0x80,0x94,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x94,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_sshort v1, v[3:4], off      ; encoding: [0x00,0x80,0x2c,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x2c,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_sshort v1, v[3:4], off dlc  ; encoding: [0x00,0x90,0x2c,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x90,0x2c,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_ubyte v1, v[3:4], off       ; encoding: [0x00,0x80,0x20,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x20,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_ubyte v1, v[3:4], off dlc   ; encoding: [0x00,0x90,0x20,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x90,0x20,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_ubyte_d16 v1, v[3:4], off   ; encoding: [0x00,0x80,0x80,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x80,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_ubyte_d16_hi v1, v[3:4], off ; encoding: [0x00,0x80,0x84,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x84,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_ushort v1, v[3:4], off      ; encoding: [0x00,0x80,0x28,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x80,0x28,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_load_ushort v1, v[3:4], off dlc  ; encoding: [0x00,0x90,0x28,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x90,0x28,0xdc,0x03,0x00,0x7d,0x01

# GFX10: global_store_byte v[3:4], v1, off       ; encoding: [0x00,0x80,0x60,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x80,0x60,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_byte v[3:4], v1, off dlc   ; encoding: [0x00,0x90,0x60,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x90,0x60,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_byte_d16_hi v[3:4], v1, off ; encoding: [0x00,0x80,0x64,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x80,0x64,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dword v3, v1, exec         ; encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x7e,0x00]
0x00,0x80,0x70,0xdc,0x03,0x01,0x7e,0x00

# GFX10: global_store_dword v[3:4], v1, off      ; encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x80,0x70,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dword v[3:4], v1, off dlc  ; encoding: [0x00,0x90,0x70,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x90,0x70,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dword v[3:4], v1, off offset:12 ; encoding: [0x0c,0x80,0x70,0xdc,0x03,0x01,0x7d,0x00]
0x0c,0x80,0x70,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dword v3, v1, s[2:3]       ; encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
0x00,0x80,0x70,0xdc,0x03,0x01,0x02,0x00

# GFX10: global_store_dword v3, v1, s[2:3] offset:2040 ; encoding: [0xf8,0x87,0x70,0xdc,0x03,0x01,0x02,0x00]
0xf8,0x87,0x70,0xdc,0x03,0x01,0x02,0x00

# GFX10: global_store_dword v3, v1, s[2:3] offset:24 ; encoding: [0x18,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
0x18,0x80,0x70,0xdc,0x03,0x01,0x02,0x00

# GFX10: global_store_dwordx2 v[3:4], v[1:2], off ; encoding: [0x00,0x80,0x74,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x80,0x74,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dwordx2 v[3:4], v[1:2], off dlc ; encoding: [0x00,0x90,0x74,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x90,0x74,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dwordx3 v[3:4], v[1:3], off ; encoding: [0x00,0x80,0x7c,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x80,0x7c,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dwordx3 v[3:4], v[1:3], off dlc ; encoding: [0x00,0x90,0x7c,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x90,0x7c,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dwordx4 v[3:4], v[1:4], off ; encoding: [0x00,0x80,0x78,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x80,0x78,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_dwordx4 v[3:4], v[1:4], off dlc ; encoding: [0x00,0x90,0x78,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x90,0x78,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_short v[3:4], v1, off      ; encoding: [0x00,0x80,0x68,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x80,0x68,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_short v[3:4], v1, off dlc  ; encoding: [0x00,0x90,0x68,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x90,0x68,0xdc,0x03,0x01,0x7d,0x00

# GFX10: global_store_short_d16_hi v[3:4], v1, off ; encoding: [0x00,0x80,0x6c,0xdc,0x03,0x01,0x7d,0x00]
0x00,0x80,0x6c,0xdc,0x03,0x01,0x7d,0x00

# GFX10: scratch_load_dword v1, off, exec_lo     ; encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x7e,0x01]
0x00,0x40,0x30,0xdc,0x00,0x00,0x7e,0x01

# GFX10: scratch_load_dword v1, off, m0          ; encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x7c,0x01]
0x00,0x40,0x30,0xdc,0x00,0x00,0x7c,0x01

# GFX10: scratch_load_dword v1, off, s1          ; encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x01,0x01]
0x00,0x40,0x30,0xdc,0x00,0x00,0x01,0x01

# GFX10: scratch_load_dword v1, off, s1 offset:32 ; encoding: [0x20,0x40,0x30,0xdc,0x00,0x00,0x01,0x01]
0x20,0x40,0x30,0xdc,0x00,0x00,0x01,0x01

# GFX10: scratch_load_dword v1, v2, off          ; encoding: [0x00,0x40,0x30,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x30,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_dword v1, v2, off dlc      ; encoding: [0x00,0x50,0x30,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x50,0x30,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_dword v1, v2, off offset:2047 ; encoding: [0xff,0x47,0x30,0xdc,0x02,0x00,0x7d,0x01]
0xff,0x47,0x30,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_dwordx2 v[1:2], v3, off    ; encoding: [0x00,0x40,0x34,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x40,0x34,0xdc,0x03,0x00,0x7d,0x01

# GFX10: scratch_load_dwordx2 v[1:2], v3, off dlc ; encoding: [0x00,0x50,0x34,0xdc,0x03,0x00,0x7d,0x01]
0x00,0x50,0x34,0xdc,0x03,0x00,0x7d,0x01

# GFX10: scratch_load_dwordx3 v[1:3], v4, off    ; encoding: [0x00,0x40,0x3c,0xdc,0x04,0x00,0x7d,0x01]
0x00,0x40,0x3c,0xdc,0x04,0x00,0x7d,0x01

# GFX10: scratch_load_dwordx3 v[1:3], v4, off dlc ; encoding: [0x00,0x50,0x3c,0xdc,0x04,0x00,0x7d,0x01]
0x00,0x50,0x3c,0xdc,0x04,0x00,0x7d,0x01

# GFX10: scratch_load_dwordx4 v[1:4], v5, off    ; encoding: [0x00,0x40,0x38,0xdc,0x05,0x00,0x7d,0x01]
0x00,0x40,0x38,0xdc,0x05,0x00,0x7d,0x01

# GFX10: scratch_load_dwordx4 v[1:4], v5, off dlc ; encoding: [0x00,0x50,0x38,0xdc,0x05,0x00,0x7d,0x01]
0x00,0x50,0x38,0xdc,0x05,0x00,0x7d,0x01

# GFX10: scratch_load_sbyte v1, v2, off          ; encoding: [0x00,0x40,0x24,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x24,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_sbyte v1, v2, off dlc      ; encoding: [0x00,0x50,0x24,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x50,0x24,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_sbyte_d16 v1, v2, off      ; encoding: [0x00,0x40,0x88,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x88,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_sbyte_d16_hi v1, v2, off   ; encoding: [0x00,0x40,0x8c,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x8c,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_short_d16 v1, v2, off      ; encoding: [0x00,0x40,0x90,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x90,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_short_d16_hi v1, v2, off   ; encoding: [0x00,0x40,0x94,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x94,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_sshort v1, v2, off         ; encoding: [0x00,0x40,0x2c,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x2c,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_sshort v1, v2, off dlc     ; encoding: [0x00,0x50,0x2c,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x50,0x2c,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_ubyte v1, v2, off          ; encoding: [0x00,0x40,0x20,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x20,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_ubyte v1, v2, off dlc      ; encoding: [0x00,0x50,0x20,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x50,0x20,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_ubyte_d16 v1, v2, off      ; encoding: [0x00,0x40,0x80,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x80,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_ubyte_d16_hi v1, v2, off   ; encoding: [0x00,0x40,0x84,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x84,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_ushort v1, v2, off         ; encoding: [0x00,0x40,0x28,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x40,0x28,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_load_ushort v1, v2, off dlc     ; encoding: [0x00,0x50,0x28,0xdc,0x02,0x00,0x7d,0x01]
0x00,0x50,0x28,0xdc,0x02,0x00,0x7d,0x01

# GFX10: scratch_store_byte v1, v2, off          ; encoding: [0x00,0x40,0x60,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x40,0x60,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_byte v1, v2, off dlc      ; encoding: [0x00,0x50,0x60,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x50,0x60,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_byte_d16_hi off, v2, s1   ; encoding: [0x00,0x40,0x64,0xdc,0x00,0x02,0x01,0x00]
0x00,0x40,0x64,0xdc,0x00,0x02,0x01,0x00

# GFX10: scratch_store_dword off, v2, exec_lo    ; encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x7e,0x00]
0x00,0x40,0x70,0xdc,0x00,0x02,0x7e,0x00

# GFX10: scratch_store_dword off, v2, m0         ; encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x7c,0x00]
0x00,0x40,0x70,0xdc,0x00,0x02,0x7c,0x00

# GFX10: scratch_store_dword off, v2, s1         ; encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
0x00,0x40,0x70,0xdc,0x00,0x02,0x01,0x00

# GFX10: scratch_store_dword off, v2, s1 offset:12 ; encoding: [0x0c,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
0x0c,0x40,0x70,0xdc,0x00,0x02,0x01,0x00

# GFX10: scratch_store_dword v1, v2, off         ; encoding: [0x00,0x40,0x70,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x40,0x70,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_dword v1, v2, off dlc     ; encoding: [0x00,0x50,0x70,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x50,0x70,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_dword v1, v2, off offset:12 ; encoding: [0x0c,0x40,0x70,0xdc,0x01,0x02,0x7d,0x00]
0x0c,0x40,0x70,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_dwordx2 v1, v[2:3], off   ; encoding: [0x00,0x40,0x74,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x40,0x74,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_dwordx2 v1, v[2:3], off dlc ; encoding: [0x00,0x50,0x74,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x50,0x74,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_dwordx3 v1, v[2:4], off   ; encoding: [0x00,0x40,0x7c,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x40,0x7c,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_dwordx3 v1, v[2:4], off dlc ; encoding: [0x00,0x50,0x7c,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x50,0x7c,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_dwordx4 v1, v[2:5], off   ; encoding: [0x00,0x40,0x78,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x40,0x78,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_dwordx4 v1, v[2:5], off dlc ; encoding: [0x00,0x50,0x78,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x50,0x78,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_short v1, v2, off         ; encoding: [0x00,0x40,0x68,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x40,0x68,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_short v1, v2, off dlc     ; encoding: [0x00,0x50,0x68,0xdc,0x01,0x02,0x7d,0x00]
0x00,0x50,0x68,0xdc,0x01,0x02,0x7d,0x00

# GFX10: scratch_store_short_d16_hi off, v2, s1  ; encoding: [0x00,0x40,0x6c,0xdc,0x00,0x02,0x01,0x00]
0x00,0x40,0x6c,0xdc,0x00,0x02,0x01,0x00

# GFX10: global_load_dword v2, s[4:5] offset:1024 lds ; encoding: [0x00,0xa4,0x30,0xdc,0x02,0x00,0x04,0x00]
0x00,0xa4,0x30,0xdc,0x02,0x00,0x04,0x00

# GFX10: global_load_dword v2, s[4:5] offset:1024 lds ; encoding: [0x00,0xa4,0x30,0xdc,0x02,0x00,0x04,0x00]
0x00,0xa4,0x30,0xdc,0x02,0x00,0x04,0x00

# GFX10: global_load_ubyte v2, s[4:5] offset:1024 lds ; encoding: [0x00,0xa4,0x20,0xdc,0x02,0x00,0x04,0x00]
0x00,0xa4,0x20,0xdc,0x02,0x00,0x04,0x00

# GFX10: global_load_sbyte v2, s[4:5] offset:1024 lds ; encoding: [0x00,0xa4,0x24,0xdc,0x02,0x00,0x04,0x00]
0x00,0xa4,0x24,0xdc,0x02,0x00,0x04,0x00

# GFX10: global_load_ushort v2, s[4:5] offset:1024 lds ; encoding: [0x00,0xa4,0x28,0xdc,0x02,0x00,0x04,0x00]
0x00,0xa4,0x28,0xdc,0x02,0x00,0x04,0x00

# GFX10: global_load_sshort v2, s[4:5] offset:1024 lds ; encoding: [0x00,0xa4,0x2c,0xdc,0x02,0x00,0x04,0x00]
0x00,0xa4,0x2c,0xdc,0x02,0x00,0x04,0x00

# GFX10: global_load_dword v[2:3], off offset:1024 lds ; encoding: [0x00,0xa4,0x30,0xdc,0x02,0x00,0x7d,0x00]
0x00,0xa4,0x30,0xdc,0x02,0x00,0x7d,0x00

# GFX10: global_load_ubyte v[2:3], off offset:1024 lds ; encoding: [0x00,0xa4,0x20,0xdc,0x02,0x00,0x7d,0x00]
0x00,0xa4,0x20,0xdc,0x02,0x00,0x7d,0x00

# GFX10: global_load_sbyte v[2:3], off offset:1024 lds ; encoding: [0x00,0xa4,0x24,0xdc,0x02,0x00,0x7d,0x00]
0x00,0xa4,0x24,0xdc,0x02,0x00,0x7d,0x00

# GFX10: global_load_ushort v[2:3], off offset:1024 lds ; encoding: [0x00,0xa4,0x28,0xdc,0x02,0x00,0x7d,0x00]
0x00,0xa4,0x28,0xdc,0x02,0x00,0x7d,0x00

# GFX10: global_load_sshort v[2:3], off offset:1024 lds ; encoding: [0x00,0xa4,0x2c,0xdc,0x02,0x00,0x7d,0x00]
0x00,0xa4,0x2c,0xdc,0x02,0x00,0x7d,0x00

# GFX10: scratch_load_dword v2, off offset:1024 lds ; encoding: [0x00,0x64,0x30,0xdc,0x02,0x00,0x7d,0x00]
0x00,0x64,0x30,0xdc,0x02,0x00,0x7d,0x00

# GFX10: scratch_load_ubyte v2, off offset:1024 lds ; encoding: [0x00,0x64,0x20,0xdc,0x02,0x00,0x7d,0x00]
0x00,0x64,0x20,0xdc,0x02,0x00,0x7d,0x00

# GFX10: scratch_load_sbyte v2, off offset:1024 lds ; encoding: [0x00,0x64,0x24,0xdc,0x02,0x00,0x7d,0x00]
0x00,0x64,0x24,0xdc,0x02,0x00,0x7d,0x00

# GFX10: scratch_load_ushort v2, off offset:1024 lds ; encoding: [0x00,0x64,0x28,0xdc,0x02,0x00,0x7d,0x00]
0x00,0x64,0x28,0xdc,0x02,0x00,0x7d,0x00

# GFX10: scratch_load_sshort v2, off offset:1024 lds ; encoding: [0x00,0x64,0x2c,0xdc,0x02,0x00,0x7d,0x00]
0x00,0x64,0x2c,0xdc,0x02,0x00,0x7d,0x00

# GFX10: scratch_load_dword off, s4 offset:1024 lds ; encoding: [0x00,0x64,0x30,0xdc,0x00,0x00,0x04,0x00]
0x00,0x64,0x30,0xdc,0x00,0x00,0x04,0x00

# GFX10: scratch_load_ubyte off, s4 offset:1024 lds ; encoding: [0x00,0x64,0x20,0xdc,0x00,0x00,0x04,0x00]
0x00,0x64,0x20,0xdc,0x00,0x00,0x04,0x00

# GFX10: scratch_load_sbyte off, s4 offset:1024 lds ; encoding: [0x00,0x64,0x24,0xdc,0x00,0x00,0x04,0x00]
0x00,0x64,0x24,0xdc,0x00,0x00,0x04,0x00

# GFX10: scratch_load_ushort off, s4 offset:1024 lds ; encoding: [0x00,0x64,0x28,0xdc,0x00,0x00,0x04,0x00]
0x00,0x64,0x28,0xdc,0x00,0x00,0x04,0x00

# GFX10: scratch_load_sshort off, s4 offset:1024 lds ; encoding: [0x00,0x64,0x2c,0xdc,0x00,0x00,0x04,0x00]
0x00,0x64,0x2c,0xdc,0x00,0x00,0x04,0x00
